#pragma once

#include "imagedefine.h"


class IImage
{
public:
    ~IImage() = default;

public:
    virtual bool
    AddOverlay(
        Overlay                           aOverlay
    ) = 0;

    virtual bool
    GeneralDCMFile(
        const std::string                 aFileName,
        const DCM_TransferSyntax          aXfer
    ) = 0;

    virtual bool
    JPEGCompress(
        const std::string& aDCMFile,
        const std::string& aNewFileName,
        DCM_TransferSyntax aXfer
    ) = 0;

    virtual bool
    JPEGDecompress(
        const std::string& aDCMFile,
        const std::string& aNewFileName,
        DCM_TransferSyntax aXfer
    ) = 0;
};
